package com.ufcg.lvc.server;

import java.sql.SQLException;


/**
 * 
 * @author Larissa Costa
 * 
 */
public class DataBase {
	
	public static DataBase getInstance(){
		if (DB == null){
			DB = new DataBase();
		}
		return DB;
	}
	private Conexao conexaoUsuario = new Conexao().getNewConexao();
//	private String id_usuario;
//	private String nome_usuario;
//	private String login_usuario;
	
	private static DataBase DB = null;
			
	private DataBase(){}
	
	public String[] conectaUsuario(String login, String senha) {
		String[] a = {"","",""};
		try {
			
			// Procura um valor em uma coluna de uma tabela do banco de dados
			String sql = "select usuario_id, nome from usuario where login like '" + login + "' and senha like '"+ senha + "';";
			conexaoUsuario.executaConsulta(sql);

			// Se achar o valor
			if (conexaoUsuario.getResultSet().first()) {
				a[0] = conexaoUsuario.getResultSet().getArray(1).toString(); // usuario_id
				a[1] = conexaoUsuario.getResultSet().getArray(2).toString(); // usuario.nome
//				setId_usuario();
//				setNome_usuario(conexaoUsuario.getResultSet().getArray(2).toString());
//				setLogin_usuario(login);
				return a;
			}
		}
		// Se nao achar o valor
		catch (SQLException e) {
			System.out.println("Usuário não encontrado ou inválido");
			return null;
		}
		System.out.println("Usuário não encontrado ou inválido");
		return null;
	}

	public boolean procuraBD(String tabela, String coluna, String valor) {
		try {
			// Procura um valor em uma coluna de uma tabela do banco de dados
			String sql = "select * from " + tabela + " where " + coluna
					+ " like '" + valor + "';";
			conexaoUsuario.executaConsulta(sql);

			// Se achar o valor
			if (conexaoUsuario.getResultSet().first()) {
				System.out.println("Achou " + valor);
				return true;
			}
		}
		// Se nao achar o valor
		catch (SQLException e) {
			System.out.println("Nao achou " + valor);
			return false;
		}
		System.out.println("Nao achou " + valor);
		return false;
	}

	public boolean procuraBD(String tabela, String coluna, String valor,
			String coluna2, String valor2) {
		try {
			// Procura dois valores em duas colunas de uma tabela do banco de
			// dados
			String sql = "select * from " + tabela + " where " + coluna
					+ " like '" + valor + "' and " + coluna2 + " like '"
					+ valor2 + "';";
			conexaoUsuario.executaConsulta(sql);

			// Se achar o par de valores
			if (conexaoUsuario.getResultSet().first()) {
				return true;
			}
		}
		// Se nao achar o par de valores
		catch (SQLException e) {
			return false;
		}
		return false;
	}

//	public String getId_usuario() {
//		return id_usuario;
//	}
//	
//	public String getLogin_usuario() {
//		return login_usuario;
//	}
//
//	public String getNome_usuario() {
//		return nome_usuario;
//	}
//	
//	public void setId_usuario(String id_usuario) {
//		this.id_usuario = id_usuario;
//	}
//
//	public void setLogin_usuario(String login_usuario) {
//		this.login_usuario = login_usuario;
//	}
//
//	public void setNome_usuario(String nome_usuario) {
//		this.nome_usuario = nome_usuario;
//	}
}
